-- ==============================================================
-- File generated on Fri Apr 10 18:02:29 CEST 2020
-- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
-- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
-- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
-- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
-- ==============================================================
library ieee; 
use ieee.std_logic_1164.all; 
use ieee.std_logic_unsigned.all;

entity mixer_duc_q_p0n5n10n15n20MHz_rom is 
    generic(
             DWIDTH     : integer := 8; 
             AWIDTH     : integer := 10; 
             MEM_SIZE    : integer := 800
    ); 
    port (
          addr0      : in std_logic_vector(AWIDTH-1 downto 0); 
          ce0       : in std_logic; 
          q0         : out std_logic_vector(DWIDTH-1 downto 0);
          clk       : in std_logic
    ); 
end entity; 


architecture rtl of mixer_duc_q_p0n5n10n15n20MHz_rom is 

signal addr0_tmp : std_logic_vector(AWIDTH-1 downto 0); 
type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0); 
signal mem : mem_array := (
    0 to 160=> "00000000", 161 => "11010011", 162 => "11000000", 163 => "11010011", 
    164 => "00000000", 165 => "00101101", 166 => "01000000", 167 => "00101101", 
    168 => "00000000", 169 => "11010011", 170 => "11000000", 171 => "11010011", 
    172 => "00000000", 173 => "00101101", 174 => "01000000", 175 => "00101101", 
    176 => "00000000", 177 => "11010011", 178 => "11000000", 179 => "11010011", 
    180 => "00000000", 181 => "00101101", 182 => "01000000", 183 => "00101101", 
    184 => "00000000", 185 => "11010011", 186 => "11000000", 187 => "11010011", 
    188 => "00000000", 189 => "00101101", 190 => "01000000", 191 => "00101101", 
    192 => "00000000", 193 => "11010011", 194 => "11000000", 195 => "11010011", 
    196 => "00000000", 197 => "00101101", 198 => "01000000", 199 => "00101101", 
    200 => "00000000", 201 => "11010011", 202 => "11000000", 203 => "11010011", 
    204 => "00000000", 205 => "00101101", 206 => "01000000", 207 => "00101101", 
    208 => "00000000", 209 => "11010011", 210 => "11000000", 211 => "11010011", 
    212 => "00000000", 213 => "00101101", 214 => "01000000", 215 => "00101101", 
    216 => "00000000", 217 => "11010011", 218 => "11000000", 219 => "11010011", 
    220 => "00000000", 221 => "00101101", 222 => "01000000", 223 => "00101101", 
    224 => "00000000", 225 => "11010011", 226 => "11000000", 227 => "11010011", 
    228 => "00000000", 229 => "00101101", 230 => "01000000", 231 => "00101101", 
    232 => "00000000", 233 => "11010011", 234 => "11000000", 235 => "11010011", 
    236 => "00000000", 237 => "00101101", 238 => "01000000", 239 => "00101101", 
    240 => "00000000", 241 => "11010011", 242 => "11000000", 243 => "11010011", 
    244 => "00000000", 245 => "00101101", 246 => "01000000", 247 => "00101101", 
    248 => "00000000", 249 => "11010011", 250 => "11000000", 251 => "11010011", 
    252 => "00000000", 253 => "00101101", 254 => "01000000", 255 => "00101101", 
    256 => "00000000", 257 => "11010011", 258 => "11000000", 259 => "11010011", 
    260 => "00000000", 261 => "00101101", 262 => "01000000", 263 => "00101101", 
    264 => "00000000", 265 => "11010011", 266 => "11000000", 267 => "11010011", 
    268 => "00000000", 269 => "00101101", 270 => "01000000", 271 => "00101101", 
    272 => "00000000", 273 => "11010011", 274 => "11000000", 275 => "11010011", 
    276 => "00000000", 277 => "00101101", 278 => "01000000", 279 => "00101101", 
    280 => "00000000", 281 => "11010011", 282 => "11000000", 283 => "11010011", 
    284 => "00000000", 285 => "00101101", 286 => "01000000", 287 => "00101101", 
    288 => "00000000", 289 => "11010011", 290 => "11000000", 291 => "11010011", 
    292 => "00000000", 293 => "00101101", 294 => "01000000", 295 => "00101101", 
    296 => "00000000", 297 => "11010011", 298 => "11000000", 299 => "11010011", 
    300 => "00000000", 301 => "00101101", 302 => "01000000", 303 => "00101101", 
    304 => "00000000", 305 => "11010011", 306 => "11000000", 307 => "11010011", 
    308 => "00000000", 309 => "00101101", 310 => "01000000", 311 => "00101101", 
    312 => "00000000", 313 => "11010011", 314 => "11000000", 315 => "11010011", 
    316 => "00000000", 317 => "00101101", 318 => "01000000", 319 => "00101101", 
    320 => "00000000", 321 => "11000000", 322 => "00000000", 323 => "01000000", 
    324 => "00000000", 325 => "11000000", 326 => "00000000", 327 => "01000000", 
    328 => "00000000", 329 => "11000000", 330 => "00000000", 331 => "01000000", 
    332 => "00000000", 333 => "11000000", 334 => "00000000", 335 => "01000000", 
    336 => "00000000", 337 => "11000000", 338 => "00000000", 339 => "01000000", 
    340 => "00000000", 341 => "11000000", 342 => "00000000", 343 => "01000000", 
    344 => "00000000", 345 => "11000000", 346 => "00000000", 347 => "01000000", 
    348 => "00000000", 349 => "11000000", 350 => "00000000", 351 => "01000000", 
    352 => "00000000", 353 => "11000000", 354 => "00000000", 355 => "01000000", 
    356 => "00000000", 357 => "11000000", 358 => "00000000", 359 => "01000000", 
    360 => "00000000", 361 => "11000000", 362 => "00000000", 363 => "01000000", 
    364 => "00000000", 365 => "11000000", 366 => "00000000", 367 => "01000000", 
    368 => "00000000", 369 => "11000000", 370 => "00000000", 371 => "01000000", 
    372 => "00000000", 373 => "11000000", 374 => "00000000", 375 => "01000000", 
    376 => "00000000", 377 => "11000000", 378 => "00000000", 379 => "01000000", 
    380 => "00000000", 381 => "11000000", 382 => "00000000", 383 => "01000000", 
    384 => "00000000", 385 => "11000000", 386 => "00000000", 387 => "01000000", 
    388 => "00000000", 389 => "11000000", 390 => "00000000", 391 => "01000000", 
    392 => "00000000", 393 => "11000000", 394 => "00000000", 395 => "01000000", 
    396 => "00000000", 397 => "11000000", 398 => "00000000", 399 => "01000000", 
    400 => "00000000", 401 => "11000000", 402 => "00000000", 403 => "01000000", 
    404 => "00000000", 405 => "11000000", 406 => "00000000", 407 => "01000000", 
    408 => "00000000", 409 => "11000000", 410 => "00000000", 411 => "01000000", 
    412 => "00000000", 413 => "11000000", 414 => "00000000", 415 => "01000000", 
    416 => "00000000", 417 => "11000000", 418 => "00000000", 419 => "01000000", 
    420 => "00000000", 421 => "11000000", 422 => "00000000", 423 => "01000000", 
    424 => "00000000", 425 => "11000000", 426 => "00000000", 427 => "01000000", 
    428 => "00000000", 429 => "11000000", 430 => "00000000", 431 => "01000000", 
    432 => "00000000", 433 => "11000000", 434 => "00000000", 435 => "01000000", 
    436 => "00000000", 437 => "11000000", 438 => "00000000", 439 => "01000000", 
    440 => "00000000", 441 => "11000000", 442 => "00000000", 443 => "01000000", 
    444 => "00000000", 445 => "11000000", 446 => "00000000", 447 => "01000000", 
    448 => "00000000", 449 => "11000000", 450 => "00000000", 451 => "01000000", 
    452 => "00000000", 453 => "11000000", 454 => "00000000", 455 => "01000000", 
    456 => "00000000", 457 => "11000000", 458 => "00000000", 459 => "01000000", 
    460 => "00000000", 461 => "11000000", 462 => "00000000", 463 => "01000000", 
    464 => "00000000", 465 => "11000000", 466 => "00000000", 467 => "01000000", 
    468 => "00000000", 469 => "11000000", 470 => "00000000", 471 => "01000000", 
    472 => "00000000", 473 => "11000000", 474 => "00000000", 475 => "01000000", 
    476 => "00000000", 477 => "11000000", 478 => "00000000", 479 => "01000000", 
    480 => "00000000", 481 => "11010011", 482 => "01000000", 483 => "11010011", 
    484 => "00000000", 485 => "00101101", 486 => "11000000", 487 => "00101101", 
    488 => "00000000", 489 => "11010011", 490 => "01000000", 491 => "11010011", 
    492 => "00000000", 493 => "00101101", 494 => "11000000", 495 => "00101101", 
    496 => "00000000", 497 => "11010011", 498 => "01000000", 499 => "11010011", 
    500 => "00000000", 501 => "00101101", 502 => "11000000", 503 => "00101101", 
    504 => "00000000", 505 => "11010011", 506 => "01000000", 507 => "11010011", 
    508 => "00000000", 509 => "00101101", 510 => "11000000", 511 => "00101101", 
    512 => "00000000", 513 => "11010011", 514 => "01000000", 515 => "11010011", 
    516 => "00000000", 517 => "00101101", 518 => "11000000", 519 => "00101101", 
    520 => "00000000", 521 => "11010011", 522 => "01000000", 523 => "11010011", 
    524 => "00000000", 525 => "00101101", 526 => "11000000", 527 => "00101101", 
    528 => "00000000", 529 => "11010011", 530 => "01000000", 531 => "11010011", 
    532 => "00000000", 533 => "00101101", 534 => "11000000", 535 => "00101101", 
    536 => "00000000", 537 => "11010011", 538 => "01000000", 539 => "11010011", 
    540 => "00000000", 541 => "00101101", 542 => "11000000", 543 => "00101101", 
    544 => "00000000", 545 => "11010011", 546 => "01000000", 547 => "11010011", 
    548 => "00000000", 549 => "00101101", 550 => "11000000", 551 => "00101101", 
    552 => "00000000", 553 => "11010011", 554 => "01000000", 555 => "11010011", 
    556 => "00000000", 557 => "00101101", 558 => "11000000", 559 => "00101101", 
    560 => "00000000", 561 => "11010011", 562 => "01000000", 563 => "11010011", 
    564 => "00000000", 565 => "00101101", 566 => "11000000", 567 => "00101101", 
    568 => "00000000", 569 => "11010011", 570 => "01000000", 571 => "11010011", 
    572 => "00000000", 573 => "00101101", 574 => "11000000", 575 => "00101101", 
    576 => "00000000", 577 => "11010011", 578 => "01000000", 579 => "11010011", 
    580 => "00000000", 581 => "00101101", 582 => "11000000", 583 => "00101101", 
    584 => "00000000", 585 => "11010011", 586 => "01000000", 587 => "11010011", 
    588 => "00000000", 589 => "00101101", 590 => "11000000", 591 => "00101101", 
    592 => "00000000", 593 => "11010011", 594 => "01000000", 595 => "11010011", 
    596 => "00000000", 597 => "00101101", 598 => "11000000", 599 => "00101101", 
    600 => "00000000", 601 => "11010011", 602 => "01000000", 603 => "11010011", 
    604 => "00000000", 605 => "00101101", 606 => "11000000", 607 => "00101101", 
    608 => "00000000", 609 => "11010011", 610 => "01000000", 611 => "11010011", 
    612 => "00000000", 613 => "00101101", 614 => "11000000", 615 => "00101101", 
    616 => "00000000", 617 => "11010011", 618 => "01000000", 619 => "11010011", 
    620 => "00000000", 621 => "00101101", 622 => "11000000", 623 => "00101101", 
    624 => "00000000", 625 => "11010011", 626 => "01000000", 627 => "11010011", 
    628 => "00000000", 629 => "00101101", 630 => "11000000", 631 => "00101101", 
    632 => "00000000", 633 => "11010011", 634 => "01000000", 635 => "11010011", 
    636 => "00000000", 637 => "00101101", 638 => "11000000", 639 => "00101101", 
    640 to 799=> "00000000" );


begin 


memory_access_guard_0: process (addr0) 
begin
      addr0_tmp <= addr0;
--synthesis translate_off
      if (CONV_INTEGER(addr0) > mem_size-1) then
           addr0_tmp <= (others => '0');
      else 
           addr0_tmp <= addr0;
      end if;
--synthesis translate_on
end process;

p_rom_access: process (clk)  
begin 
    if (clk'event and clk = '1') then
        if (ce0 = '1') then 
            q0 <= mem(CONV_INTEGER(addr0_tmp)); 
        end if;
    end if;
end process;

end rtl;

Library IEEE;
use IEEE.std_logic_1164.all;

entity mixer_duc_q_p0n5n10n15n20MHz is
    generic (
        DataWidth : INTEGER := 8;
        AddressRange : INTEGER := 800;
        AddressWidth : INTEGER := 10);
    port (
        reset : IN STD_LOGIC;
        clk : IN STD_LOGIC;
        address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
        ce0 : IN STD_LOGIC;
        q0 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
end entity;

architecture arch of mixer_duc_q_p0n5n10n15n20MHz is
    component mixer_duc_q_p0n5n10n15n20MHz_rom is
        port (
            clk : IN STD_LOGIC;
            addr0 : IN STD_LOGIC_VECTOR;
            ce0 : IN STD_LOGIC;
            q0 : OUT STD_LOGIC_VECTOR);
    end component;



begin
    mixer_duc_q_p0n5n10n15n20MHz_rom_U :  component mixer_duc_q_p0n5n10n15n20MHz_rom
    port map (
        clk => clk,
        addr0 => address0,
        ce0 => ce0,
        q0 => q0);

end architecture;


